package com.bosssoft.trainee.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.bosssoft.trainee.mbg.dto.ResourceDTO;
import com.bosssoft.trainee.mbg.po.Resource;

/**
 * @Author: wuxin
 * @Date: 2022/6/17
 * @Project rbac
 * @Version 1.0
 * @Description
 */
public interface ResourceService {
    /**
     * 获取资源列表
     * @param pageSize 页大小
     * @param pageNum 页数
     * @param example 样例
     * @return 一页数据
     */
    Page<Resource> getList(int pageSize, int pageNum, ResourceDTO example);

    /**
     * 根据id删除资源
     * @param id 删除对象id
     * @return 受影响的记录数
     */
    int deleteById(int id);

    /**
     * 新增资源
     * @param resourceDTO 新增对象
     * @return 受影响的记录数
     */
    int addResource(ResourceDTO resourceDTO);

    /**
     * 更新资源
     * @param resourceDTO 更新对象
     * @return 受影响的记录数
     */
    int updateResource(ResourceDTO resourceDTO);

    /**
     * 检查代码是否被使用
     * @param code 需要检查的代码
     * @return true:被使用，false：未被使用
     */
    boolean checkCode(String code);

    /**
     * 检查Api是否被使用
     * @param api 需要检查的Api
     * @return true:被使用，false：未被使用
     */
    boolean checkApi(String api);

    /**
     * 检查url是否被使用
     * @param url 需要检查的url
     * @return true:被使用，false：未被使用
     */
    boolean checkUrl(String url);

    /**
     * 检查对应id的资源是否存在
     * @param id 需要检查的id
     * @return true:存在，false：不存在
     */
    boolean exist(Integer id);
}
